#ifndef VSETTINGDIALOG_H
#define VSETTINGDIALOG_H

#include <QDialog>
#include <QStringList>
#include <QTreeWidgetItem>
#include <QString>
#include <QListWidgetItem>

namespace Ui {
class VSettingDialog;
}

class VSettingDialog : public QDialog
{
    Q_OBJECT

public:
    explicit VSettingDialog(QWidget *parent);
    ~VSettingDialog();


private slots:
    void on_color_listwidget_currentItemChanged(QListWidgetItem *current, QListWidgetItem *previous);
    void on_btn_modify_shortcut_clicked();

    void on_shortcut_treewidget_currentItemChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous);

    void on_btn_yes_clicked();

    void on_pushButton_3_clicked();

private:
    Ui::VSettingDialog *ui;
    void update_color_listwidget(QString name);
    void update_color_listwidget_item();
    void update_color_listwidget_font();
    void update_code_format_summary();
    QString makeColorString(const QColor &color, const QString type);
    void save_setting(QString path);
    void save_color_setting(QString path);
    void load_setting(QString path);
    void load_color_setting(QString path);


};

#endif // VSETTINGDIALOG_H
